1. Technical Field of the Invention
The present invention generally relates to presence-aware communication networks. More particularly, and not by way of any limitation, the present invention is directed to a dynamic contact list management system and method operable in a communications network environment.
2. Description of Related Art
With today's widespread use of the Internet as a major communication medium, data communication devices are now being designed so that they are capable of communicating over packet-switched networks. For instance, telephones, pagers, personal digital assistant devices, cell phones, handheld computers, and even fax machines can now be accessed and controlled from the Internet. Communication over a packet-switched network using communication devices that traditionally communicate over a circuit-switched telecommunications network is generally known as network telephony, or IP telephony when an IP network is involved.
Various types of user communication devices (e.g., a cell phone, laptop or handheld PC, desktop PC, and the like) can identify themselves to the network using a suitable identifier (e.g., username@company.com). “Presence” refers to, for example, the availability, proximity, activity level or operating state of a user or device on a network. The ability for users to monitor each other's presence is a feature offered in connection with many applications that support network telephony. For example, instant messaging (IM) applications such as MSN®, Yahoo®, et cetera, have an “available buddy” feature, in which a user of the application can determine whether select users are available for engaging in communication. The data retrieved and returned to the buddy list, e.g. “John OFFLINE” or “Susan ACTIVE”, is known as “presence information,” and is generally maintained by a presence server in the data network, often a dedicated server. Typically, the presence server supports network protocols such as the Session Initiation Protocol (SIP). Users can register their communication devices with the presence server in order to have their presence maintained and to allow various programs on the network to facilitate network telephony services. A first device user wishing to detect the presence of a second device user does so by “subscribing” with the presence server, such as via a SIP SUBSCRIBE message. The presence server intermediates between the first device user (also known as the watcher or subscriber) and the second device user to facilitate the communication of the second device user's presence information to the first device user.
Additional details concerning presence and presence data modeling are set forth in the Internet Engineering Task Force (IETF) Request for Comment (RFC) 2778 entitled “A model for Presence and Instant Messaging,” dated February 2002; RFC 2779 entitled “Instant Messaging/Presence Protocol Requirements,” dated February 2002; and Internet-Draft identified as <<draft-schulzrinne-simple-rpids-01.ps>> and entitled “RPIDS—Rich Presence Information Data Format for Presence Based on the Session Initiation Protocol (SIP),” dated Feb. 18, 2003, which are incorporated herein by reference.
Although presence and IM applications have been implemented in a variety of settings such as those exemplified hereinabove, several areas remain deficient in terms of presence and contact list management.